// components/hrSelect/hrSelect.js
Component({

  /**
   * 组件的属性列表
   */
  properties: {
    // 显示与隐藏
    show: {
      type: Boolean,
      value: false
    },
    title: {
      type: String,
      value: ""
    },
    // 数据源
    options: {
      type: Array,
      value: [],
      observer(newVal, oldVal) {
        // console.log("000: ", newVal, oldVal)
      }
    },
    // 名称显示属性
    name: {
      type: String,
      value: "name"
    },
    // 传参id
    id: {
      type: String,
      value: "id",
    },
    // 是否单选 默认单选
    isSingle: {
      type: Boolean,
      value: true
    },
  },
  /**
   * 组件的初始数据
   */
  data: {
    // 选中的id数据
    selectItems: []
  },

  /**
   * 组件的方法列表
   */
  methods: {
    // 选择
    onChecked(e) {
      const row = e.currentTarget.dataset.query;

      if (this.data.isSingle) {
        console.log("单选", row)
        // 单选
        this.setData({
          selectItems: [row]
        })
      }
      else {
        // 多选
        let arrs = this.data.selectItems;
        const hh = arrs.find(item => item[this.data.id] == row[this.data.id]);
        if (hh == undefined) {
          // 没有选中过
          arrs.push(row)
        }
        else {
          // 已经选中过  剔除掉
          arrs = arrs.filter(item => item[this.data.id] != hh[this.data.id])
        }
        this.setData({
          selectItems: arrs
        })
      }
    },
    // 确定
    onConfirm() {

      this.triggerEvent('chooseSelect', this.data.selectItems)
      this.setData({
        show: false,
        selectItems: []
      })
    },
    onClosePopup() {
      this.setData({
        show: false,
        selectItems: []
      })
    }
  }
})